1. Field of the Invention
This invention is related to the field of integrated circuits and, more particularly, to clocked storage circuits in integrated circuits.
2. Description of the Related Art
Integrated circuits typically include digital circuitry. The digital circuitry performs logical operations on inputs to produce outputs, which may be input to other on-chip digital circuitry or may be outputs of the integrated circuit. In many cases, the digital circuitry is clocked by one or more clock signals. The clock signals force the digital circuitry to operate synchronously, which ensures predictable operation of the integrated circuit and can simplify timing analysis during the design of a complicate integrated circuit.
Clocked digital circuits include clocked storage devices to capture outputs from digital circuitry responsive to the clock signal that controls the clocked storage devices. The devices provide the captured outputs as inputs to other digital circuitry for processing during the following clock cycle of the clock signal. One popular type of clocked storage device is the pulse flop. A pulse flop generates a narrow pulse responsive to the clock signal. During the pulse, the input state is captured and propagated to the output of the flop. The pulse flop is generally fast, and also has short setup and hold time characteristics.
For testing purposes, the clocked storage devices of an integrated circuit are often linked into a scan chain. Data can be scanned into the clocked storage devices using the scan chain, one or more clock cycles may be performed, and the resulting captured data may be scanned out of the scan chain. The resulting data can be compared to expected data to detect defects in the integrated circuit. Additionally, data can be scanned out for debug purposes.
Scanning into and out of pulsed flops has created timing issues. The pulse flops rapidly propagate data from the input to the output (and scan data output), and thus the data may reach the scan data input of the next flop in the chain rapidly. A race condition thus exists, and may cause errant operation in the integrated circuit.